<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <!-- 第一步 引入核心库  练习，建议大家引入开发环境，因为包含了错误信息 和警告-->
    <script src="../框架相关的js/vue.js"></script>
  </head>
  <body>
    <!-- 第二步 创建一个容器 并指定其id -->
    <div id="box">
      <!-- 
        每一个组件都是独立的，每调用一次，就重新实例化一次
       -->
      <v-home></v-home>
      <v-index></v-index>
      <v-index></v-index>
      <v-index></v-index>
    </div>
    <!-- 创建一个template标签  一个页面可以有n个template标签，你需要定义一个id 去需求不同的模板-->
    <template id="vHome">
      <div>
        <div>
          <input type="text" v-model='msg'>
        </div>
        <h1>我是单提出来的template</h1>
        <h2>{{msg}}</h2>
      </div>
    </template>
    <template id="vIndex">
      <div>
        <h1>index 内容</h1>
        <h2>{{msg}}</h2>
        <button @click='getInfo'>点击我有惊喜！！！</button>
      </div>
    </template>
    <!-- 第三步 逻辑操作 -->
    <script>
      new Vue({
        el: "#box", //挂载点
        data: {
          msg: "vue真的是太简单。。。。",
        },
        components: {
          vHome: {
            template: "#vHome",
            data(){
              return {
                msg:'我是home'
              }
            },
            watch:{
              msg(newVal){
                console.log(newVal,'新值');
              }
            },
            mounted() {
              console.log('hone组件完成挂载')
            },
          },
          vIndex: {
            template: "#vIndex",
            data(){
              return{
                msg:'我是index内容'
              }
            },
            mounted() {
              console.log('index组件完成挂载')
            },
            methods: {
              //封装一个getInfo事件
              getInfo(){
                console.log('当前事件被触发。。。')
              }
            },
          },
        },
      });
    </script>
  </body>
</html>
